// PR c++/68180
// { dg-do compile { target c++14 } }
// { dg-additional-options "-Wno-psabi" }

typedef float __attribute__( ( vector_size( 16 ) ) ) float32x4_t;
constexpr float32x4_t fill(float x) {
  float32x4_t v{0};
  constexpr auto vs = sizeof(v)/sizeof(v[0]);
  for (auto i=0U; i<vs; ++i) v[i]=i; // { dg-error "not a constant" }
  return v+x;
}

float32x4_t foo(float32x4_t x) {
  constexpr float32x4_t v = fill(1.f); // { dg-message "in .constexpr. expansion of " }
  return x+v;
}
